import axios from 'axios'
import serverurl from '@/utils/env'

console.log(serverurl)

axios.defaults.baseURL = serverurl.root
axios.defaults.headers = {
    'X-Requested-With': 'XMLHttpRequest'
}
axios.defaults.timeout = 10000
axios.interceptors.response.use(response => {
    return response
}, error => {
    if (error && err.response) {
      switch (err.response.status) {
        case 400:
          err.message = '错误请求'
          break;
        case 401:
          err.message = '未授权，请重新登录'
          break;
        case 403:
          err.message = '拒绝访问'
          break;
        case 404:
          err.message = '请求错误,未找到该资源'
          break;
        case 405:
          err.message = '请求方法未允许'
          break;
        case 408:
          err.message = '请求超时'
          break;
        case 500:
          err.message = '服务器端出错'
          break;
        case 501:
          err.message = '网络未实现'
          break;
        case 502:
          err.message = '网络错误'
          break;
        case 503:
          err.message = '服务不可用'
          break;
        case 504:
          err.message = '网络超时'
          break;
        case 505:
          err.message = 'http版本不支持该请求'
          break;
        default:
          err.message = `连接错误${err.response.status}`
      }
    } else {
      err.message = "连接到服务器失败"
    }
    message.error(err.message)
      return Promise.resolve(error.response)
})

export default {


      queryjsonobject(url,param){
        const jsonstring = JSON.stringify(param); 
        const mapobject={ jsonstring }
        return new Promise((resolve,reject) => {
          axios({
            method: 'get',
            url,
            params: mapobject
          }).then(res => {
            resolve(res)
          })
        }) 
      },
      postjsonobject(url,param) {
        const jsonstring = JSON.stringify(param); 
        const mapobject={ jsonstring }
        return new Promise((resolve,reject) => {
          axios({
            method: 'get',
            url,
            params: mapobject
          }).then(res => {
            resolve(res)
          })
        })        
      },
      get (url,param) {
        console.log(param)
        return new Promise((resolve,reject) => {
          axios({
            method: 'get',
            url,
            params: param
          }).then(res => {
            resolve(res)
          })
        })
      },
      post (url,param) {
        return new Promise((resolve,reject) => {
          axios({
            method: 'post',
            url,
            data: param
          }).then(res => {
            resolve(res)
          })
        })
       }
    }